import request from '@/utils/request'

const tableApi = {
  findAll: '/ha_table/findAll',
  findList: '/ha_table/findList',
  findTableField: '/ha_table/findTableField',
  findTableFieldList: '/ha_table/findTableFieldList',
  findTableList: '/ha_table/findTableList',
  findTableFieldListByDataSourceId: '/ha_table/findTableFieldListByDataSourceId'
}

/**
 * 查询指定表下字段的注释和类型
 * @param formid 流程表单定义id
 * @return
 */
export function findTableFieldList (formid) {
  return request({
    url: tableApi.findTableFieldList,
    method: 'post',
    params: { formid }
  })
}
/**
 * 查询指定表下字段的注释和类型
 * @param datasourceid 数据源id
 * @param data 表名数组
 * @return
 */
export function findTableFieldListByDataSourceId (datasourceid, data) {
  return request({
    url: tableApi.findTableFieldListByDataSourceId,
    method: 'post',
    params: { datasourceid },
    data: data
  })
}
/**
 * 根据datasourceid批量查询表名和说明
 * @param datasourceid 数据源id
 * @return
 */
export function findTableList (datasourceid) {
  return request({
    url: tableApi.findTableList,
    method: 'post',
    params: { datasourceid }
  })
}

/**
 * 查询指定表下字段的注释和类型
 * @param dataBaseType 数据库类型执行oracle和mysql, 不传默认mysql
 * @param database 数据库名称
 * @param tableName 表名称
 * @return
 */
export function findTableField (parameter) {
  return request({
    url: tableApi.findTableField,
    method: 'post',
    params: parameter
  })
}

/**
 * 查询flowable指定表名的表名和注释
 * @param dataBaseType 数据库类型执行oracle和mysql, 不传默认mysql
 * @param dataBase flowable数据库的名称, 不传默认是flowable
 * @param tableNameList 数据库表名
 * @return
 */
export function findList (parameter, data) {
  return request({
    url: tableApi.findList,
    method: 'post',
    params: parameter,
    data: data
  })
}

/**
 * 查询flowable所有表名和注释
 * @param dataBaseType 数据库类型执行oracle和mysql, 不传默认mysql
 * @param dataBase flowable数据库的名称, 不传默认是flowable
 * @return [{TABLE_NAME, notes}]
 */
export function findAll (parameter) {
  return request({
    url: tableApi.findAll,
    method: 'post',
    params: parameter
  })
}
